<?php

require_once 'Basic.php';

class SubsidiaryList {

  private $list;
  private $dbFail;
  
  public function __construct() {
    $this->list = new Report();
    $this->dbFail = false;
    $this->buildList();
  }
 
  private function buildList() {
    $db = new DBUtils();
    
    try {
      $db->connect();
      
      $db->runQuery("select * from DadosFilial");
      for($item = $db->getItem(); $item !== null; $item = $db->getItem()) {
        $listItem = new ReportItem("-");
        $listItem->addLine("Login", $item->idFilial);      
        $listItem->addLine("Nome", $item->nome);      
        $listItem->addLine("Logradouro", $item->logradouro);
        $listItem->addLine("Número", $item->numero);
        $listItem->addLine("Complemento", $item->complemento);
        $listItem->addLine("Bairro", $item->bairro);
        $listItem->addLine("CEP", $item->CEP);
        $listItem->addLine("Outras informações", $item->outrasInformacoes);
        $listItem->addLine("Cidade", $item->nomeCidade);
        $listItem->addLine("UF", $item->nomeUF);
  
        $this->list->addItem($listItem);
      }    
      
      $db->close(true);
    }
    catch(DBError $e) {
      $db->close();
      $this->dbFail = true;
      logMessage($e, "SubsidiaryList");
    }
  }
 
  public function getHtml() {
    if($this->dbFail) {
      return "<p>Falha ao acessar o banco de dados. O erro foi reportado.</p>";
    }
    else {
      return $this->list->getHtml();
    }
  }
  
}

mustBeAdmin();
$list = new SubsidiaryList();
$page = new Page("Listagem de Filial");
$page->addContent($list->getHtml());
echo $page->getHtml();
  